# Import Pmw from this directory tree.
#!/usr/local/bin/python
# -*- coding: latin-1

import os,sys


#DIRECTORIO DONDE ESTAN LOS ASS
directorio='C:\plugin\\Proyecto-Rotulacion'




def pasar_tiempo(Tcode):
	Tcode=Tcode.replace(" ","")
	if(Tcode.find(".")<>-1):
		Tcode=Tcode.replace(".",":")
	Tcode=Tcode.split(":")
	Tcode[len(Tcode)-1]=str(int((float(Tcode[len(Tcode)-1])*25.0)/100.0))
	salida=0;
	Tcode_O=Tcode
	if(len(Tcode_O)==4):
		salida=(int(Tcode_O[3])) + int(Tcode_O[2])*25 +  (int(Tcode_O[1])*60.0*25) +((int(Tcode_O[0])*60.0)*60.0*25)
		return salida
	else:
		return -1
def corregir_tiempo(Tcode):
	Tcode=Tcode.replace(" ","")
	if(Tcode.find(".")<>-1):
		Tcode=Tcode.replace(".",":")
	Tcode=Tcode.split(":")
	Tcode[len(Tcode)-1]=str(int((float(Tcode[len(Tcode)-1])*25.0)/100.0))
	return (Tcode[0]+":"+Tcode[1]+":"+Tcode[2]+":"+Tcode[3])

def comparar_tiempos(Tuno,Tdos):
	tiempo=pasar_tiempo(Tdos)-pasar_tiempo(Tuno)
	frames=0
	segundos=0
	segundos=int(tiempo/25.0)
	frames=int(tiempo%25)
	return "00:00:"+str(segundos)+":"+str(frames)


listado2=os.listdir(directorio)
for y in listado2:
	if(y[-3:]!="ass"):
		continue
	print "reformateando " + y
	f = open(directorio+"//"+y, "r")
	#f = open("C:\\temp\\provaSubStation.ssa", "r")
	listado=[]
	list=[]
	#I1 sERA CUANDO ESTE EN CURSIVA
	#B1 sERA NEGRITA BLANCA
	# {\pos(326,49)}{\fs36} --> titulos
	#resto normal
	tipos=["{#i1}","{#b1}","{#b0}","{#i0}","{#pos(326,49)}{#fs36}","{#0}","{#1}"]
	cont=0
	tip=[]


	paso=1
	con=0
	listado=[]
	while True:
		tip=[]
		linea = f.readline()
		print linea
		linea=linea.replace("\\","#")
		if not linea: break
		if(linea.find("[Events]")<>-1):
			paso=0
			continue;
		if(paso) :
			continue
		elif (con<1):
			con+=1
			continue;
		linea=linea.replace("\n","")
		for z in tipos:
			if (linea.find(z)!=-1):
				tip.append(z)
				linea=linea.replace(z,"")
	
		list=linea.split(",",9)#NUEVE LOS ELEMENTOS QUE HAY
	
		if(list[9].find("#N")!=-1):
			list[9]=list[9].split("#N")#ENCUNETRAS CONTADOR
			cont=1
		else:
			list[9]=[list[9]]
	
		if(cont!=0):
			cont=cont+1 #NUMERO DE LINEAS
		list.append(tip)
		listado.append(list)
		#listado.append(linea.split("	"))
	t=1
	final=""
	p=""
	for x in listado:
		final=""
	
		t="R"
		#DICCIONARIO DE TIPOS DE COMPOSICIONES
		for z in x[len(x)-1]:
			if(z=="{#i1}"):
				t="C"
			if(z=="{#pos(326,49)}{#fs36}"):
				t="T"
			if(z=="{#b1}"):
				t="B"
		p=p+t+str(len(x[9]))+"#"+str(len(x[9]))
		for l in x[9]:
			p=p+"#"+l
		kt=comparar_tiempos(x[1],x[2])
		p=p+"#"+corregir_tiempo(x[1])+"#"
		#p=p+(x[1][1].split(",")[0]).replace(" ","")+"#"
		p=p+kt+"\n"
	
		#if(x[len(x)-1]==[]):
	
	print p
	f.close()	
	print p
	f = open(directorio+"//"+y[:-3]+"txt", 'w')
	f.write(p)
	f.close()
